package Longing;

import java.sql.*;

/*
             * @Author 枫城
             * @Date 2022/4/6
             *  工具类的封装
             *   JDBC工具类，简化JDBC编程
             **/
public class demo6 {
    public static class DBUtil {
        /**
         * @return
         * @Author 枫城
         * @Date 2022/4/6
         * @Param [工具类中的构造方法都是私有的]
         * 因为工具类中的方法都是静态的，不需要new对象，直接采用类名调用
         **/

        //防止有人去new一个对象
        private DBUtil() {}

        // 静态代码块在类加载时只需要执行一次
        static {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }

        /**
         * @return java.sql.Connection
         * @Author 枫城
         * @Date 2022/4/6
         * @Param [获取连接对象，返回连接对象]
         **/
        public static Connection getConnection() throws SQLException {
            String url = "jdbc:mysql://192.168.10.132:3306/learn_JDBC?useUnicode=true&characterEncoding=utf-8";
            String user = "root";
            String password = "123456";
            return DriverManager.getConnection(url, user, password);
        }

        /**
         * @return
         * @Author 枫城
         * @Date 2022/4/6
         * @Param 关闭资源
         **/
        public static void close(Connection connection, Statement statement, ResultSet resultSet) {
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }


            }

        }
    }
}



